Week 3: Embedded Programming

Like every week, this is my first time learning about embedded systems! To begin, I explored the hardware and read about many different microprocessors. I watched several videos on which microprocessors are best suited for which projects. I originally decided on an Arduino Uno because it was recommended as one of the best for a first-timer. This is the Arduino Uno:

Arduino Uno

However, I learned that this is not a microprocessor we're advised to use in this class. So, lesson learned, make sure it's a microprocessor we have available to us in class! I switched over to the ESP32 C3:

ESP 32

To understand the programming of a microprocessor, I downloaded the Arduino platform and explored the many different examples they have as far as code for different projects. I found the Arduino program accessible because it uses C++ and I know some basic C:

I started with envisioning an audio project, something relatively simple. I learned there are multiple ways that one can build out audio. One can start as simply as creating a melody with a buzzer. But I wanted to play an mp3 file on a speaker. However, this proved to be quite complicated and beyond my skill set.

Instead, after looking at many different projects and brainstorming, I decided to create a transmitter and receiver that could send messages back and forth via LED signals using morse code. As recommended, I started with example code for translating morse code to an LED. For the parts of the code that I did not understand, I used ChatGPT to ask questions and understand what it was doing as well as to identify bugs. Then I built the transmitter and receiver simulations using Wokwi.

Morse Transmitter Simulation Morse Receiver Simulation

My vision from here, once I build this out, is to connect it to a full-size LED bulb and build a lantern that can send messages. I would like to revisit laser cutting and vinyl cutting to do this (inspired by my classmate's beautiful work), creating a different design perhaps modeled off of something like this:

Lantern